package main

// 引入必要的包
import (
	"fmt"
	// shim包提供了链码与账本交互的中间层。链码通过shim.ChaincodeStubInterface提供的方法来读取和修改账本状态
	"github.com/hyperledger/fabric/core/chaincode/shim"
	// Init和Invoke方法需要返回pb.Response类型
	pb "github.com/hyperledger/fabric/protos/peer"
)

// 声明一个结构体
type SimpleChaincode struct {
}

// 为结构体添加Init方法
func (t *SimpleChaincode) Init(stub shim.ChaincodeStubInterface) pb.Response {
	// 该方法用来完成一些初始化的工作
	return shim.Success(nil)
}

// 为结构体添加Invoke方法
func (t *SimpleChaincode) Invoke(stub shim.ChaincodeStubInterface) pb.Response {
	// 响应调用或查询的业务逻辑在该方法中实现
	return shim.Success(nil)
}

// 主函数，需要调用shim.Start()方法
func main() {
	err := shim.Start(new(SimpleChaincode))
	if err != nil {
		fmt.Printf("Error starting Simple chaincode: %s", err)
	}
}
